<?php
//session_start();
require dirname(__FILE__) . "/../classes/albumClass.php";
require dirname(__FILE__) . "/../classes/imageClass.php";
require dirname(__FILE__) . "/../classes/connectionFactoryClass.php";
require dirname(__FILE__) . "/../classes/imageDao.php";
require dirname(__FILE__) . "/../classes/albumDao.php";
require dirname(__FILE__) . "/../classes/validates.php";


$album = new albumClass();
$image = new ImageClass();
$c = new ConnectionFactory();
$db = $c->getConnection();
$imageDao = new imageDao($db);
$albumDao = new albumDao($db);
$valid = new validates();

$directoryTemp = '../temp/';
$userId=$_SESSION['userId'];
$sizeMax=8388608;


$fileFotoType = array();
$tmpFilePath = array();
$novoFile=  Array();
$fotosExistentes = Array();


 //Preparando a variável do arquivo
$tamanho=0;
$fi=$_FILES['upload']['size'];
$tamanho=array_sum ($fi);
 
//echo"tamanho:". file_size ($tamanho);

$filesize=$valid->formatSizeUnits($tamanho);

echo"<br/>Tamanho:".$filesize;

if ($tamanho <6291456  ) //6mb

{
$fileFoto = $_FILES['upload']['name'];
$fileFotoType = $_FILES['upload']['type'];
$tmpFile = $_FILES['upload']['tmp_name'];
$albumname = $_POST['album'];

$albumExiste=False;



        if (!empty($albumname)) 
            {
               $albumExiste=$albumDao->getAlbumByNameEqual($albumname, $userId);


                if ($albumExiste) 
                    {
                        echo "<script> if (confirm('Album existe. Deseja gravar as fotos no album  ?'))
                        {var r=1;}else{window.location='../home/upload.php';}</script>";

                    $albumExiste = "<script>document.write(r)</script>";
                    }

             //limpa diretorio temporário
                foreach (scandir($directoryTemp) as $item)
                    {
                        if ($item == '.' || $item == '..')
                        continue;
                             unlink($directoryTemp . DIRECTORY_SEPARATOR . $item);
                    }


                //Percorre o array filefoto
                for ($i = 0; $i < count($fileFoto); $i++)
                {
                    //recebe o tipo de foto
                    $fotoType = $fileFotoType[$i];
                    //recebe o caminho temporário 
                    $tmpFilePath = $tmpFile[$i];

                    //Pega extensão do arquivo
                    preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $fileFoto[$i], $ext);

                    // Gera um nome único para a imagem
                    $foto = md5(uniqid(time())) . "." . $ext[1];

                    //Recebe  o caminho completo da foto incluindo o nome  ;
                    $newFilePath = $directoryTemp . $foto;

                    //Verifica se foto foi selecionada
                    if ($foto)
                        {
                            if ($tmpFilePath != "")
                                {
                                //Verifica se a foto possuí os formatos jpg, png, gif 
                                    if ($valid->validatesPhoto($fotoType)) 
                                        {
                                            //verifica se  ja existe a foto no banco 
                                            if (!$imageDao->getPhotosByName($foto,$userId)) 
                                                {
                                                    $novoFile[] = $foto;
                                                    $newFileType[] = $fileFotoType [$i];
                                                    //move a foto  para o diretorio temp
                                                    if (!move_uploaded_file($tmpFilePath, $newFilePath)) {

                                                    }
                                                 } else {
                                                            $fotosExistentes[] = $foto;
                                                        }
                                         } else {
                                                        echo "<script> alert('O arquivo . $fileFoto[$i];. não é uma Foto valida'); 
                                                        window.location='upload.php';</script>";
                                                  }
                                } else {
                                        echo "<script> alert('O arquivo . $fileFoto[$i];. não é uma Foto valida'); 
                                        window.location='upload.php;</script>";
                                       }
                    } else {
                                echo "<script> alert('Selecione um arquivo'); 
                                window.location='upload.php';</script>";
                            }
                }
            } else {
                echo "<script> alert('Selecione um album.')
                window.location='upload.php';</script>";
                }
        
         } else {
        echo "<script> alert('Tamanho do arquivo muito grande!')
        window.location='upload.php';</script>";
        }
?>

